module.exports = {
  param(field, defaultValue) {
    return this.post(field) || this.get(field) || defaultValue;
  },
  strVal(field, defaultValue = '') {
    return this.param(field, defaultValue).trim();
  },
  intVal(field, defaultValue = 0) {
    return parseInt(this.param(field) || defaultValue);
  },
  floatVal(field, defaultValue = 0) {
    return parseFloat(this.param(field) || defaultValue);
  },
  setLoginUser(userinfo) {
    think.logger.info('set userinfo:', userinfo);
    return this.session('admin', userinfo);
  },
  async getLoginUser(field) {
    const admin = await this.session('admin');
    think.logger.info('get userinfo:', admin);
    if (field) {
      return admin[field];
    }
    return admin;
  },
  getLoginUserId() {
    return this.getLoginUser('id');
  },
  getAccountId() {
    return this.getLoginUser('accountId');
  },
  getLoginUserName() {
    return this.getLoginUser('usename');
  }
};
